In order to estimate attribute values (ex. age, angle of facing direction, body posture, etc.) expressed by consecutive volumes in detail from among person attributes, a large quantity of learning data belonging to attribute classes composed of areas of the attribute values needs to be prepared. Therefore, if there is a small amount of learning data, learning is enabled by roughly classifying the attribute classes and the attribute value may be estimated stably.
When the attribute value to be specified is expressed by one-dimensional vector such as age (0 to 100 years old), an attribute value (age) of a person is estimated by preparing a plurality of determiners configured to determine whether it is higher or lower than a predetermined reference age (10 years old, 20 years old, . . . 60 years old) for determining respective attribute classes (age class) configured to determine a rough age of the person, adding all results of determination (likelihoods) of the respective determiners, and specifying an age class having the highest likelihood as a result of determination.
However, as factors of erroneous determination of age estimation, there are cases where ages estimated by parts of the body are significantly different such as “a person having a young face (30's) and gray hair (50′ S)” or “a smiley face (30's from the entire face is but 50's from wrinkles around the mouth)”, and in such cases, a high likelihood may be output both for a correct age class and for an age class which is far from the correct age class.
In such a case, in the method of the related art, since the age of a person is estimated by integrating all the results of determination of the plurality of age class determinations, there is a problem that the estimated age may be far away from a correct age.
In view of such problems described above, it is an object of the embodiment of the invention to provide an estimating apparatus capable of estimating an attribute value correctly, a method thereof, and a computer program product therefor.